.text
.global _start

// 2nboot程序设置了栈底，初始值0xFFFF8000

_start:                     // 地址 0x42C00000
    bl except_vector_init   // 异常向量表重定向
    bl enableFPU            // 使能FPU
    ldr r0, =115200         // 传参，波特率115200
    bl uart0_init           // 初始化uart0
    .word 0xFFFF0000        // 无效指令，会产生Undef异常
    swi 0x123               //  软中断
    bl bss_init             // .bss段初始化
    b main

enableFPU:
    MRC p15, 0, r0, c1, c1, 2
    ORR r0, r0, #3<<10
    MCR p15, 0, r0, c1, c1, 2
    LDR r0, =(0xF << 20)
    MCR p15, 0, r0, c1, c0, 2
    MOV r3, #0x40000000
    VMSR FPEXC, r3
